// 定义简历相关的类型

// 简历基本信息类型
export interface ResumeBasicInfo {
  id: string;
  name: string;
  title: string;
  avatar?: string;
  contact: {
    email: string;
    phone: string;
    address?: string;
    website?: string;
    github?: string;
    linkedin?: string;
  };
  objective?: string;
}

// 教育经历类型
export interface Education {
  id: string;
  institution: string;
  degree: string;
  major: string;
  startDate: string;
  endDate: string;
  gpa?: string;
  description?: string;
}

// 工作经历类型
export interface WorkExperience {
  id: string;
  company: string;
  position: string;
  startDate: string;
  endDate: string;
  description: string;
  achievements: string[];
}

// 项目经历类型
export interface Project {
  id: string;
  name: string;
  role?: string;
  startDate: string;
  endDate: string;
  description: string;
  technologies: string[];
  link?: string;
}

// 技能类型
export interface Skill {
  id: string;
  name: string;
  level: number; // 1-5 表示熟练程度
  category: string; // 如：编程语言、框架、工具等
}

// 证书类型
export interface Certificate {
  id: string;
  name: string;
  issuer: string;
  date: string;
  description?: string;
}

// 简历模板类型
export interface ResumeTemplate {
  id: string;
  name: string;
  thumbnail: string;
  description: string;
}

// 主题类型
export interface Theme {
  id: string;
  name: string;
  primaryColor: string;
  secondaryColor: string;
  fontFamily: string;
  isDark: boolean;
}

// 完整简历类型
export interface Resume {
  id: string;
  createdAt: string;
  updatedAt: string;
  templateId: string;
  themeId: string;
  name: string;
  basicInfo: ResumeBasicInfo;
  education: Education[];
  workExperience: WorkExperience[];
  projects: Project[];
  skills: Skill[];
  certificates: Certificate[];
  customSections?: {
    [key: string]: any;
  };
}